﻿using System;

#if WINDOWS_PHONE
namespace Fibre.WP7.Threading
#else
#if SILVERLIGHT
namespace Fibre.Silverlight.Threading
#else
namespace Fibre.Threading
#endif
#endif
{
    /// <summary>
    /// Work complete context. Allows more work to be added and access to the Result of the work.
    /// </summary>
    /// <typeparam name="T">Type of the result</typeparam>
    public interface IWorkCompleteContext<T> : IWorkCompleteContext
    {
        /// <summary>
        /// Gets or sets the result. 
        /// </summary>
        /// <value>The result.</value>
        T Result { get; }
    }

    /// <summary>
    /// Work complete context. Allows more work to be added.
    /// </summary>
    public interface IWorkCompleteContext : IAddWork
    {
        Exception Error { get; }
    }
}